# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=snapcast
pkgver=0.26.0
pkgrel=0
pkgdesc="Synchronous multi-room audio player"
url="https://github.com/badaix/snapcast"
arch="all"
license="GPL-3.0-or-later"
depends="$pkgname-client $pkgname-server"
makedepends="cmake asio-dev avahi-dev flac-dev libvorbis-dev alsa-lib-dev opus-dev soxr-dev"
pkgusers="$pkgname"
pkggroups="$pkgname audio"
install="$pkgname-client.pre-install $pkgname-server.pre-install"
subpackages="$pkgname-doc $pkgname-client $pkgname-server"
source="$pkgname-$pkgver.tar.gz::https://github.com/badaix/snapcast/archive/v$pkgver.tar.gz
	$pkgname-client.initd
	$pkgname-client.confd
	$pkgname-server.initd
	$pkgname-server.confd

	fix-tests.patch
	"

[ "$CARCH" = "riscv64" ] && options="$options textrels"

build() {
	cmake -B build \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DBUILD_WITH_FLAC=ON \
		-DBUILD_WITH_VORBIS=ON \
		-DBUILD_WITH_OPUS=ON \
		-DBUILD_WITH_AVAHI=ON \
		-DBUILD_TESTS=ON
	cmake --build build
}

check() {
	bin/snapcast_test
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

client() {
	pkgdesc="$pkgname client"
	depends=

	amove usr/bin/snapclient
	install -Dm755 "$srcdir/$subpkgname.initd" \
		"$subpkgdir"/etc/init.d/"$subpkgname"
	install -Dm644 "$srcdir/$subpkgname.confd" \
		"$subpkgdir"/etc/conf.d/"$subpkgname"
}

server() {
	pkgdesc="$pkgname server"
	depends=

	amove usr/bin/snapserver
	install -Dm755 "$srcdir/$subpkgname.initd" \
		"$subpkgdir"/etc/init.d/"$subpkgname"
	install -Dm644 "$srcdir/$subpkgname.confd" \
		"$subpkgdir"/etc/conf.d/"$subpkgname"
}

sha512sums="
fc7885e42a11794e33314544083251ffbb91a0cf160c6d4b854c56f57ffe9f38f75c7594478c9edabfe9076959938cd8de891dd456e66202692de664a75cde71  snapcast-0.26.0.tar.gz
bc2219f00fa70890be0c12f6fb8da0ac86949f65c1714648d20f6e83a80e075b8482bafd65ebadcc65708f0c488f9655ad2ddd803e5a061973de4132134acbc0  snapcast-client.initd
fa353d7974d3a8b3b22ff009b762c7c4ee318f9f83e22762a9ebf550484b9fc3cc4dffd389b6d756630dc035cb86d5c5643541957785f8bbf71fe4915691c337  snapcast-client.confd
47feaf72d96ccab6996d24619b1d36a89a74e50d402fb6760792ee62d5c2460718324ef8f437ce2be121488f164372c2c0883b9ff0e45d484b5b0e3778d6d99b  snapcast-server.initd
48d494143d044a413b414b32cd8be51d4242234b6d7cb03102914a42b1ea6b1913c2c31b223c23c6be316918e731875149a2505daa03165659d0a1be3ca7e75c  snapcast-server.confd
16682578b12bc0d76af88cd09a24523498aac3a1108b691046b54d7f96bc92d6f96d2af38a7e9ddb7a3da57ae46fbc83adf29e04142332952d284f5961b432c8  fix-tests.patch
"
